The advent of cloud-based computing architectures has opened new possibilities for the rapid and scalable deployment of virtual Web stores, media outlets, social networking sites, and many other on-line sites or services. In general, a cloud-based architecture deploys a set of hosted resources such as processors, operating systems, software and other components that can be combined together to form virtual machines. A user or customer can request the instantiation of a virtual machine or set of machines from those resources from a central server or cloud management system to perform intended tasks, services, or applications. For example, a user may wish to set up and instantiate a virtual server from the cloud to create a storefront to market products or services on a temporary basis, for instance, to sell tickets to or merchandise for an upcoming sports or musical performance. The user can subscribe to the set of resources needed to build and run the set of instantiated virtual machines on a comparatively short-term basis, such as hours or days, for their intended application.
Typically, when a user utilizes a cloud, the user must track the software applications executed in the cloud and/or processes instantiated in the cloud. For example, the user must track the cloud processes to ensure that the correct cloud processes have been instantiated, that the cloud processes are functioning properly and/or efficiently, that the cloud is providing sufficient resources to the cloud processes, and so forth. Due in part to the user's requirements and overall usage of the cloud, the user may have many applications and/or processes instantiated in a cloud at any given instant, and the user's deployment of virtual machines, software, and other resources can change dynamically over time. In cases, the user may also utilize multiple independent clouds to support the user's cloud deployment. That user may further instantiate and use multiple applications or other software or services inside or across multiple of those cloud boundaries, and those resources may be used or consumed by multiple or differing end-user groups in those different cloud networks.
In terms of data deployment and migration to the cloud, in cases, an administrator or other user may wish to consider transporting a set of data from a premise-based network into cloud-hosted storage, for instance to leverage the cost, consolidation, management tools, and/or other features or advantages of the cloud. In an unmodified or unaided cloud storage platform, relatively large-scale storage resources may be available for users wishing to upload their data assets into the cloud, but without any special or enhanced set of connections into the host storage clouds. In the case of relatively large-scale premise data stores, such as those maintained, merely for instance, by hospitals, government agencies, financial institutions, or other entities, the amount of data that needs to be transported may be in the range of terabytes, petabytes, or more. In the case of those comparatively large-scale data installations, an attempt to migrate the data over public Internet connections, such as packet-switched TCP/IP (transfer control protocol/Internet protocol) or FTP (file transfer protocol) connections, the delivery of the data payload could require days or weeks of time.
For many organizations, that type of transfer delay may be impractical or impossible. In addition, the relatively narrow-bandwidth connections available over the public Internet may not be secure, and for sensitive data or applications, the use of such connections may also not be a valid or practical option. Moreover, narrow-bandwidth connections into a host storage cloud may not allow for data management services such as error correction, in-flight encryption, or other security or management options.
Moreover, in cases, the administrator, operator, and/or other user or users in a premise network may have no tool, interface, or engine to automatically locate and identify high-bandwidth channels or services available to them to buffer or stage potentially large-scale data payloads to data delivery services for temporary purposes, before transmitting the data to relatively long-term host storage clouds. This lack of selectability can be problematic in the case where a set of multiple and/or competitive data delivery services are located within geographic proximity, and/or are otherwise available, to the user's premise network. However, no tool or facility exists to give the user a view of those competitive services or to possibly query or evaluate them, for selection purposes. Nor do platforms exist which permit the user to specify a set of transport parameters to select data pathways, channels, costs, and/or other required resources from a set of intermediate data distribution services, of those could be located.
It may be desirable to provide systems and methods for generating a selection of cloud data distribution service from alternative providers for staging data to host clouds, in which a set of independent and/or intermediate data center facilities are installed, located, or identified between premise data sources and those distribution services as intermediate stages to one or more potential host storage clouds, and in which the premise administrator and/or other user can query or interrogate the set of alternative data distribution services available to them to determine or select one or more such service to carry out a data transport event to stage a data payload before delivery to the cloud, based on that user's specified data transport parameters.